Load distribution or load spreading is a method by which bandwidth is more effectively utilized and overall performance is improved in a network. Most automated load distribution and load spreading techniques deployed today operate with only a very local view, these load distribution and load spreading techniques only consider the number of paths or the next hops to a given destination and do not consider the overall distribution of traffic in the network.
Equal cost multi-path (ECMP) is a common strategy for load spreading of unicast traffic in routed networks that is utilized where the decision as to how to forward a packet to a given destination can resolve to any of multiple “equal cost” paths, which tied for being the shortest path when running database calculations. ECMP can be used in conjunction with most unicast routing protocols and nodes equipped with the required supporting data plane hardware, since it relies on a per hop decision that is local to a single router and assumes promiscuous receipt and a complete forwarding table at every intermediate node. Using ECMP at any given node in a network, the load is divided pseudo-evenly across the set of equal cost next hops. This process is implemented independently at each hop of the network where more than one path to a given destination exists.
In many implementations, when the presence of multiple equal cost next hops is encountered, each packet is inspected for a source of entropy such as an Internet Protocol (IP) header and a hash of header information modulo the number of paths is used to select the next hop for the particular packet. For highly aggregated traffic, this method will on average distribute the load evenly in regular topologies (i.e., symmetric topologies) and does offer some improvement in less regular topologies.
The Institute of Electrical and Electronics Engineers (IEEE) 802.1aq standard for shortest path bridging (SPB) is used to construct full mesh shortest path connectivity in an Ethernet network architecture. SPB consolidates a number of control protocols into a single link state routing system supported by the intermediate system to intermediate system (IS-IS) protocol. This system is used for the computation of integrated and congruent unicast and multi-cast forwarding to construct basic Ethernet LAN connectivity.
Ethernet network architectures including those supporting 802.1aq do not support per hop multi-path forwarding. This lack of support is a consequence of the need for congruence between unicast and multicast traffic and because multicast is not compatible with ECMP. Instead, multi-path solutions are implemented by instantiating a separate VLAN for each path permutation and assigning to each of the VLANs a portion of the load at the ingress to the Ethernet network. In the current 802.1aq specification, path permutations are generated via the algorithmic manipulation of the node identifiers which are used in tie-breaking between the equal cost paths. The algorithmic manipulation of node identifiers produces pseudo-random path selection and requires a significant dilation factor (more virtual paths than there are actual paths through the network) in order to even out the link utilization. Overall performance of the current multi-path solution is similar to ECMP.